<?php
/**

 //  The DoYouHaoBaby PHP FrameWork - curd
 //  +---------------------------------------------------------------------
 //
 //  “Copyright”
 //  +---------------------------------------------------------------------
 //  | (C) 2010 - 2099 http://doyouhaobaby.net All rights reserved.
 //  | This is not a free software,use is subject to license terms
 //  +---------------------------------------------------------------------
 //
 //  “About This File”
 //  +---------------------------------------------------------------------
 //  | curd Index控制器
 //  +---------------------------------------------------------------------

*/

!defined('DYHB_PATH') && exit;

class IndexController extends Controller{

	/**
	 * 首页 < 默认访问 >
	 *
	 * @access public
	 * @return void
	 */
	public function index(){
		// 对象
		$arrObjectList=FormModel::F()
				->top(20)
				->order('form_id DESC')
				->query();
		$this->assign('arrObjectList',$arrObjectList);
		$this->display();
	}

	/**
	 * 插入数据
	 */
	public function insert(){
		// 创建模型
		$oModel=new FormModel();;
		// 保存数据
		$oModel->save();
		// 开始查找错误
		if(!$oModel->isError()){
			$this->S('数据保存成功！');
		}
		else{
			$this->E($oModel->getErrorMessage());
		}
	}

	/**
	 * 编辑数据
	 */
	public function edit(){
		$nId=G::getGpc('id','G');
		// 判断是否存在编辑项
		if(!empty($nId)){
			$oModel=FormModel::F('form_id=?',$nId)->query();
			if($oModel){
				$this->assign('arrValue',$oModel->toArray());
				$this->assign('nId',$nId);
				$this->display();
			}
			else{
				$this->E('数据库中并不存在该项，或许它已经被删除了！');
			}
		}
		else{
			$this->E('编辑项不存在！');
		}
	}

	/**
	 * 更新数据记录
	 */
	public function update(){
		$nId=G::getGpc('id');
		$oModel=FormModel::F('form_id=?',$nId)->query();
		$oModel->save('update');
		if($oModel->getErrorMessage()=='zero-effect'){
			$this->E('你没有修改数据！');
		}
		// 开始捕获模型中的错误
		if(!$oModel->isError()){
			$this->S('数据更新成功！');
		}
		else{
			$this->E($oModel->getErrorMessage());
		}
	}

	/**
	 * 删除数据库记录
	 */
	public function del(){
		$nId=G::getGpc('id' ,'G');
		if(!empty($nId)){
			$oModelMeta=FormModel::M();
			$sPk=reset($oModelMeta->_arrIdName);
			// 执行删除
			$oModelMeta->deleteWhere(array($sPk=>$nId));
			// 开始模型Meta中的错误，如果没有那么路过
			if($oModelMeta->isError()){
				$this->E($oModelMeta->getErrorMessage());
			}
			else{
				$this->A(array('form_id'=>$nId),'删除记录成功！',1);
			}
		}
		else{
			$this->E('删除项不存在！');
		}
	}

	/**
	 * 添加
	 */
	public function add(){
		$this->display();
	}

}
